package com.mt.roll.wms.vo;


import com.mt.roll.core.vo.CommonVo;
import com.mt.roll.core.vo.PageVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @Author wangxitao
 * @Date 2021/1/7 19:34
 * @Version 1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Builder
@ApiModel(value = "员工", description = "用于查询员工信息")
public class WorkerVo extends CommonVo implements PageVo.ConvertVo {
    /**
     * 主键，自增
     */
    @ApiModelProperty(value = "主键", required = true, example = "1")
    @NotNull(message = "ID不能为空")
    private Long id;
    /**
     * 员工名称
     */
    @ApiModelProperty(value = "员工名称", example = "张三")
    private String name;
    /**
     * 员工编码
     */
    @ApiModelProperty(value = "员工编码", example = "code")
    private String code;
    /**
     * 性别:0 、男，1、女
     */
    @ApiModelProperty(value = "性别", example = "0")
    private Integer sex;
    /**
     * 入职时间
     */
    @ApiModelProperty(value = "入职时间", example = "2021-01-07 20:04:52:129")
    private LocalDateTime entryTime;
    /**
     * 电话
     */
    @ApiModelProperty(value = "电话", example = "XXX")
    private String telephone;
    /**
     * 微信号
     */
    @ApiModelProperty(value = "微信号", example = "XXX")
    private String wechatCode;
    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱", example = "XX.com")
    private String email;
    /**
     * 专业ID
     */
    @ApiModelProperty(value = "专业ID", example = "1")
    private List<Long> majorId;
    /**
     * 专业ID
     */
    @ApiModelProperty(value = "专业", example = "专业")
    private List<String> major;
    /**
     * 所属车间
     */
    @ApiModelProperty(value = "所属车间", example = "车间")
    private String workshop;
    /**
     * 是否在岗:0 、在岗，1、不在岗
     */
    @ApiModelProperty(value = "是否在岗", example = "0")
    private Integer onDuty;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", example = "备注")
    private String description;
    /**
     * 角色ID
     */
    @ApiModelProperty(value = "角色ID", example = "角色ID")
    private Long roleId;
    /**
     * 角色名称
     */
    @ApiModelProperty(value = "角色名称", example = "角色名称")
    private String roleName;
}